package com.spvs.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.spvs.common.core.annotation.Excel;
import com.spvs.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 文件传输对象 file_transfer
 *
 * @author supervision
 * @date 2024-12-12
 */
public class FileTransfer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 文件唯一标识 */
    private Long fileId;

    /** 文件名称 */
    @Excel(name = "文件名称")
    private String fileName;

    /** 文件大小（字节） */
    @Excel(name = "文件大小", readConverterExp = "字=节")
    private String fileSize;

    /** 上传时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date uploadTime;

    /** 上传用户ID */
    @Excel(name = "上传用户ID")
    private Long uploadUserId;

    /** 下载次数 */
    @Excel(name = "下载次数")
    private Long downloadCount;

    /** 文件存储路径 */
    @Excel(name = "文件存储路径")
    private String filePath;

    /** 文件状态（上传中/完成） */
    @Excel(name = "文件状态", readConverterExp = "上=传中/完成")
    private String fileStatus;

    /** 文件状态（归档/正常） */
    @Excel(name = "文件状态", readConverterExp = "归=档/正常")
    private String fileState;

    /** 扩展字段 */
    @Excel(name = "扩展字段")
    private String infoExtend1;

    /** 扩展字段 */
    @Excel(name = "扩展字段")
    private String infoExtend2;

    /** 扩展字段 */
    @Excel(name = "扩展字段")
    private String infoExtend3;

    /** 扩展字段 */
    @Excel(name = "扩展字段")
    private String infoExtend4;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /** 回收站状态（0已删除/1恢复） */
    @Excel(name = "回收站状态", readConverterExp = "0=已删除/1恢复")
    private Long recycleStatus;

    public void setFileId(Long fileId)
    {
        this.fileId = fileId;
    }

    public Long getFileId()
    {
        return fileId;
    }
    public void setFileName(String fileName)
    {
        this.fileName = fileName;
    }

    public String getFileName()
    {
        return fileName;
    }
    public void setFileSize(String fileSize)
    {
        this.fileSize = fileSize;
    }

    public String getFileSize()
    {
        return fileSize;
    }
    public void setUploadTime(Date uploadTime)
    {
        this.uploadTime = uploadTime;
    }

    public Date getUploadTime()
    {
        return uploadTime;
    }
    public void setUploadUserId(Long uploadUserId)
    {
        this.uploadUserId = uploadUserId;
    }

    public Long getUploadUserId()
    {
        return uploadUserId;
    }
    public void setDownloadCount(Long downloadCount)
    {
        this.downloadCount = downloadCount;
    }

    public Long getDownloadCount()
    {
        return downloadCount;
    }
    public void setFilePath(String filePath)
    {
        this.filePath = filePath;
    }

    public String getFilePath()
    {
        return filePath;
    }
    public void setFileStatus(String fileStatus)
    {
        this.fileStatus = fileStatus;
    }

    public String getFileStatus()
    {
        return fileStatus;
    }
    public void setFileState(String fileState)
    {
        this.fileState = fileState;
    }

    public String getFileState()
    {
        return fileState;
    }
    public void setInfoExtend1(String infoExtend1)
    {
        this.infoExtend1 = infoExtend1;
    }

    public String getInfoExtend1()
    {
        return infoExtend1;
    }
    public void setInfoExtend2(String infoExtend2)
    {
        this.infoExtend2 = infoExtend2;
    }

    public String getInfoExtend2()
    {
        return infoExtend2;
    }
    public void setInfoExtend3(String infoExtend3)
    {
        this.infoExtend3 = infoExtend3;
    }

    public String getInfoExtend3()
    {
        return infoExtend3;
    }
    public void setInfoExtend4(String infoExtend4)
    {
        this.infoExtend4 = infoExtend4;
    }

    public String getInfoExtend4()
    {
        return infoExtend4;
    }
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }

    public Date getCreateDate()
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate)
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate()
    {
        return updateDate;
    }
    public void setRecycleStatus(Long recycleStatus)
    {
        this.recycleStatus = recycleStatus;
    }

    public Long getRecycleStatus()
    {
        return recycleStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("fileId", getFileId())
            .append("fileName", getFileName())
            .append("fileSize", getFileSize())
            .append("uploadTime", getUploadTime())
            .append("uploadUserId", getUploadUserId())
            .append("downloadCount", getDownloadCount())
            .append("filePath", getFilePath())
            .append("fileStatus", getFileStatus())
            .append("fileState", getFileState())
            .append("infoExtend1", getInfoExtend1())
            .append("infoExtend2", getInfoExtend2())
            .append("infoExtend3", getInfoExtend3())
            .append("infoExtend4", getInfoExtend4())
            .append("createBy", getCreateBy())
            .append("createDate", getCreateDate())
            .append("updateBy", getUpdateBy())
            .append("updateDate", getUpdateDate())
            .append("recycleStatus", getRecycleStatus())
            .toString();
    }
}
